﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyBanHang_NewApp.BUS;
using QuanLyBanHang_NewApp.Entity;

namespace QuanLyBanHang_NewApp
{
    public partial class FormKhachHang : Form
    {
        private KhachHangBUS khBUS;
        bool them = false;
        public FormKhachHang(int quyen)
        {
            InitializeComponent();
            khBUS = new KhachHangBUS();
            if (quyen == 0)
            {
                //panelButton.Enabled = false;
                btn_xoa.Enabled = false;
            }
        }

        private void FormKhachHang_Load(object sender, EventArgs e)
        {
            datagridKhachhang.DataSource = khBUS.getAllKH();
            datagridKhachhang.Columns[0].HeaderText = "Mã khách hàng";
            datagridKhachhang.Columns[1].HeaderText = "Họ tên";
            datagridKhachhang.Columns[2].HeaderText = "Địa chỉ";
            datagridKhachhang.Columns[3].HeaderText = "Số cmt";
            datagridKhachhang.Columns[4].HeaderText = "Số điện thoại";
            datagridKhachhang.Columns[5].HeaderText = "Mã thẻ";
            datagridKhachhang.Columns[6].HeaderText = "Tiền thẻ";
        }

        private void btn_them_Click(object sender, EventArgs e)
        {
            panelInput.Enabled = true;
            them = true;
            btn_huy.Enabled = true;
            btn_luu.Enabled = true;
            panelButton.Enabled = false;
        }

        private void btn_sua_Click(object sender, EventArgs e)
        {
            try
            {
                panelButton.Enabled = false;
                panelInput.Enabled = true;
                txtMakh.Text = datagridKhachhang.SelectedRows[0].Cells[0].Value.ToString();
                txtHoten.Text = datagridKhachhang.SelectedRows[0].Cells[1].Value.ToString();
                txtDienthoai.Text = datagridKhachhang.SelectedRows[0].Cells[4].Value.ToString();
                txtDiachi.Text = datagridKhachhang.SelectedRows[0].Cells[2].Value.ToString();
                txtSocmt.Text = datagridKhachhang.SelectedRows[0].Cells[3].Value.ToString();
                txtMathe.Text = datagridKhachhang.SelectedRows[0].Cells[5].Value.ToString();
                txtSodiem.Text = datagridKhachhang.SelectedRows[0].Cells[6].Value.ToString();
                them = false;
                btn_huy.Enabled = true;
                btn_luu.Enabled = true;
                txtMathe.Enabled = false;
                txtSodiem.Enabled = false;
            }
            catch(Exception ex)
            {
                MessageBox.Show("Bạn chưa chọn khách hàng để sửa");
                txtMakh.Text = "";
                txtHoten.Text = "";
                txtDienthoai.Text = "";
                txtDiachi.Text = "";
                txtSocmt.Text = "";
                txtMathe.Text = "";
                txtSodiem.Text = "";
                panelButton.Enabled = true;
                panelInput.Enabled = false;
                btn_huy.Enabled = false;
                btn_luu.Enabled = false;
                txtMathe.Enabled = true;
                txtSodiem.Enabled = true;
                them = false;
            }
        }

        private void btn_xoa_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Bạn có chắc muốn xóa khách hàng này?", "Confirm", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    int id = int.Parse(datagridKhachhang.SelectedRows[0].Cells[0].Value.ToString());
                    string mathe = datagridKhachhang.SelectedRows[0].Cells[5].Value.ToString();
                    if (khBUS.xoaKH(id, mathe))
                    {
                        datagridKhachhang.DataSource = khBUS.getAllKH();
                        MessageBox.Show("Xóa khách hàng thành công");
                    }
                    else
                    {
                        MessageBox.Show("Lỗi khi xóa khách hàng!");
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Chọn khách hàng cần xóa");
            }
        }

        private void btn_huy_Click(object sender, EventArgs e)
        {
            txtMakh.Text = "";
            txtHoten.Text = "";
            txtDienthoai.Text = "";
            txtDiachi.Text = "";
            txtSocmt.Text = "";
            txtMathe.Text = "";
            txtSodiem.Text = "";
            panelButton.Enabled = true;
            panelInput.Enabled = false;
            btn_huy.Enabled = false;
            btn_luu.Enabled = false;
            txtMathe.Enabled = true;
            txtSodiem.Enabled = true;
            them = false;
        }

        private void btn_thoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_timkiem_Click(object sender, EventArgs e)
        {
            try
            {
                datagridKhachhang.DataSource = khBUS.getByName(txtTimkiem.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Không tìm thấy !!");
            }
        }

        private void btn_luu_Click(object sender, EventArgs e)
        {
            try
            {
                if (them)
                {
                    //TheTichDiem the = new TheTichDiem(txtMathe.Text, 0);
                    KhachHang kh = new KhachHang(0, txtHoten.Text, txtDienthoai.Text, txtDiachi.Text, txtSocmt.Text, txtMathe.Text,"0");
                    
                    if (khBUS.themKH(kh))
                    {
                        MessageBox.Show("Thêm khách hàng thành công");
                        datagridKhachhang.DataSource = khBUS.getAllKH();
                        txtHoten.Text = "";
                        txtDienthoai.Text = "";
                        txtDiachi.Text = "";
                        txtSocmt.Text = "";
                        txtMathe.Text = "";
                        txtSodiem.Text = "";
                        them = false;
                        btn_huy.Enabled = false;
                        btn_luu.Enabled = false;
                        panelInput.Enabled = false;
                        panelButton.Enabled = true;
                    }
                    else
                    {
                        MessageBox.Show("Lỗi khi thêm khách hàng!");
                    }
                }
                else
                {
                    //TheTichDiem the = new TheTichDiem(txtMathe.Text, long.Parse(txtSodiem.Text));
                    KhachHang kh = new KhachHang(long.Parse(txtMakh.Text), txtHoten.Text, txtDienthoai.Text, txtDiachi.Text, txtSocmt.Text, txtMathe.Text, txtSodiem.Text);
                    if (khBUS.capnhatKH(kh))
                    {
                        datagridKhachhang.DataSource = khBUS.getAllKH();
                        MessageBox.Show("Sửa thông tin khách hàng thành công");
                        txtMakh.Text = "";
                        txtHoten.Text = "";
                        txtDienthoai.Text = "";
                        txtDiachi.Text = "";
                        txtSocmt.Text = "";
                        txtMathe.Text = "";
                        txtSodiem.Text = "";
                        panelButton.Enabled = true;
                        panelInput.Enabled = false;
                        btn_huy.Enabled = false;
                        btn_luu.Enabled = false;
                        txtMathe.Enabled = true;
                        txtSodiem.Enabled = true;
                    }
                    else
                    {
                        MessageBox.Show("Lỗi khi cập nhật khách hàng!");
                    }
                }
                them = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi !!"+ex.Message);
            }
        }

        private void txtDienthoai_TextChanged(object sender, EventArgs e)
        {
            
        }

        private void txtDienthoai_KeyPress(object sender, KeyPressEventArgs e)
        {
            if(!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar)) {
                e.Handled = true;
            }
        }

        //private void txtSodiem_KeyPress(object sender, KeyPressEventArgs e)
        //{
        //    if (!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar))
        //    {
        //        e.Handled = true;
        //    }
        //}

        private void txtSocmt_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }

    }
}
